<?php include "constants.inc" ?>
<?php

############### OPMERKING !!  #############
##											        ##
## Na het aanpassen van de gegevens      ##
## moet je deze php file op de server    ##
## plaatsen waar je databases draaien.   ##
##                                       ##
## Je maakt dan eenvoudig een backup     ##
## van je database door te surfen naar   ##
## http://internetadres/db-backups.php   ##
##                                       ##
###########################################

#####################
## Eertse database ##
#####################
$dbnaam=DB_CATALOG; //naam eerste database
$dbuser=DB_USER; //database gebruikersnaam
$dbpass=DB_PWD; //gebruikers paswoord van de database
$email="mordredqv@gmail.com"; // naar wie moet de email gestuurd worden
##################################
## einde config eerste database ##
##################################

#####################
## Tweede database ##
#####################
$dbnaam1=""; //naam tweede database
$dbuser1=""; //database gebruikersnaam
$dbpass1=""; //gebruikers paswoord van de database
$email1=""; //naar wie moet de email gestuurd worden
##################################
## einde config tweede database ##
##################################

### Om nog meerdere databases toe te voegen, gebruik dan $dbnaam2 .... enz ...
if(empty($dbnaam)) {
	echo "<b>Je moet de juiste gegevens verstrekken vooraleer een backup van je database te kunnen maken !</b><br>";
	echo "<b>Gelieve de juiste gegevens in te vullen in db-backups.php</b><br>";
	exit;
}
$site = array();
## Dit is onze eerste database
$site[0] = array("dbhost" => "localhost", "dbnaam" => "$dbnaam" , "dbuser" => "$dbuser", "dbpass" => "$dbpass", "domein" => "$dbnaam", "email" => "$email");
## Dit is onze tweede database

//$site[1] = array("dbhost" => "localhost", "dbnaam" => "$dbnaam1" , "dbuser" => "$dbuser1", "dbpass" => "$dbpass1", "domein" => "$dbnaam1", "email" => "$email1");

## Om nu verdere databases tot te voegen kopieer je gewoon de regel hierboven opnieuw, en verander
## de cijfers 1 door 2
### Vanaf hier moet je niets meer wijzigen, tenzij je weet waarmee je bezig bent :)
###
### Hier begint de backuproutine met de gegevens uit site[x]
###
for ($a = 0; $a < sizeof($site); $a++) {

$link = mysql_connect($site[$a]["dbhost"],$site[$a]["dbuser"],$site[$a]["dbpass"]) or die('No datbase conection could be establised');
mysql_select_db($site[$a]["dbnaam"],$link) or die('No datbase selected');
$query = mysql_query('SHOW TABLE STATUS') or die(mysql_error());
$sql_backup = '';
	while($row = mysql_fetch_assoc($query)) {
		$sql = 'SHOW CREATE TABLE '.$row['Name'].'';
		$query2 = mysql_query($sql) or die(mysql_error());
		$sql_backup.="\r\n#Drop table ".$row['Name']."\r\n\r\n";
		$sql_backup.="\r\nDrop table if exists `".$row['Name']."`;\r\n\r\n";
		$sql_backup.="\r\n#Create table ".$row['Name']."\r\n\r\n";
		$out = mysql_fetch_assoc($query2);
		$sql_backup.=$out['Drop Table if EXISTS'].";\r\n\r\n";
		$sql_backup.=$out['Create Table'].";\r\n\r\n";
		$sql_backup.="#Dump data\r\n\r\n";
		$sql = 'SELECT * FROM '.$row['Name'];
		$out = mysql_query($sql);
		$sql_code = '';
			while($code = mysql_fetch_array($out,MYSQL_ASSOC)) {
				$sql_code .= "INSERT INTO ".$row['Name']." SET ";
					foreach($code as $insert => $value) {
						$sql_code.=$insert ."='".addslashes($value)."',";
					}
				$sql_code = substr($sql_code, 0, -1);
				$sql_code.= ";\r\n";
			}
	$sql_backup.= $sql_code;
	}
$unique = md5(uniqid(time()));
$message = "Backup procedure van database: ". $site[$a]["dbnaam"] ." is met succes verlopen. U vind in de bijlage een backup van de inhoud gemaakt op. ".date('d-m-Y H:i:s')."\r\n Autobot\n\n";

$headers = "From: database-backup <$email>\r\n";
$headers .= "Reply-To: Autobot <noreply@". $site[$a]["domein"] .">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"".$unique."\"\r\n";
$headers .= "Content-Disposition:  attachment\r\n";
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
$body.= "--".$unique."\r\n";
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
$body.= $message ."\r\n";
$body.= "--".$unique."\r\n";
$datum=date("d-m-Y");
$body .= "Content-Type: application/octet-stream; name=" . $site[$a]["domein"] . "-$datum" . ".sql\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n";
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
$body .= chunk_split(base64_encode($sql_backup)) . "\r\n";
mail($site[$a]["email"],'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers);
echo "Backup van " . $site[$a]["dbnaam"] . " is verstuurd naar " . $site[$a]["email"] . "<br/>";
flush();
}
?>
